package com.kingyun.gpsinspection.purificationservice.facade.service.jsm.teaminfo;

import com.alibaba.fastjson.JSONObject;
import com.kingyun.gpsinspection.purificationservice.facade.model.BootstrapSearchBean;
import com.kingyun.gpsinspection.purificationservice.facade.model.jsm.Employee;
import com.kingyun.gpsinspection.purificationservice.facade.model.jsm.TeamInfo;

import java.util.List;
import java.util.Map;

/**
 * Created by zmling on 2016/12/14.
 * 班组信息
 */
public interface JsmTeamInfoService {

    /**
     * 新增班组信息
     *
     * @param teamInfo
     * @param uploadFiles
     * @param deletedFiles
     * @return
     * @throws Exception
     */
    int teamInfoAdd(TeamInfo teamInfo, String uploadFiles, String deletedFiles, Employee employee) throws Exception;

    /**
     * 班组信息分页查询
     *
     * @param bootstrapSearchBean
     * @return
     * @throws Exception
     */
    JSONObject findTeamInfoId(BootstrapSearchBean bootstrapSearchBean) throws Exception;

    /**
     * 通过Id查询班组信息
     *
     * @param teamId
     * @return
     * @throws Exception
     */
    TeamInfo findTeamInfo(String teamId) throws Exception;

    /**
     * 修改班组信息
     *
     * @param teamInfo
     * @param uploadFiles
     * @param deletedFiles
     * @return
     * @throws Exception
     */
    int teamInfoUpdate(TeamInfo teamInfo, String uploadFiles, String deletedFiles, Employee employee) throws Exception;

    /**
     * 删除班组信息
     *
     * @param teamIds
     * @return
     * @throws Exception
     */
    int deleteTeam(Map teamIds) throws Exception;

    /**
     * 查询班组信息
     *
     * @return
     * @throws Exception
     */
    List<TeamInfo> findTeamInfos(TeamInfo record) throws Exception;

    /**
     * 查询班组信息
     *
     * @return
     */
    List<TeamInfo> selectTeamInfos();

    /**
     * 根据人员信息ID查询班组
     *
     * @param employeeId
     * @return
     */
    TeamInfo selectByParam(String employeeId);
}
